package ws;

import java.util.ArrayList;
import java.util.Collection;

import org.orm.PersistentException;

import soapvo.ColegioSOAPVO;

import com.google.gson.Gson;

public class ColegioSOA {
	
	public String getTodosLosColegios () throws PersistentException {		
		orm.DAOFactory factory = orm.DAOFactory.getDAOFactory();
		orm.Trp_colegio[] colegio;

		colegio = factory.getTrp_colegioDAO().listTrp_colegioByQuery(null, null);
		return buscar(colegio);
	}
	
	
	public String getColegioId (String co_id) throws PersistentException {
		
		orm.DAOFactory factory = orm.DAOFactory.getDAOFactory();
		orm.Trp_colegio[] colegio;

		colegio = factory.getTrp_colegioDAO().listTrp_colegioByQuery("co_id = " + co_id, null);
		
		return buscar(colegio);
	}
	
	public String getColegioProvincia (String prov) throws PersistentException {		
		orm.DAOFactory factory = orm.DAOFactory.getDAOFactory();
		orm.Trp_colegio[] colegio;

		colegio = factory.getTrp_colegioDAO().listTrp_colegioByQuery("provincia.pr_des_prov= '" + prov+"'", null);
		return buscar(colegio);
	}
	
	private String buscar(orm.Trp_colegio[] arreglo) {

		String mensaje=" ";
		int largo=0;	
		Collection<ColegioSOAPVO> coleccionSoapvo = new ArrayList<ColegioSOAPVO>();
		largo = arreglo.length;

		if(largo>0){

			for(int i=0;i<largo;i++) {
				ColegioSOAPVO objeto = ColegioSOAPVO.crearSOAPVO(arreglo[i]);
				coleccionSoapvo.add(objeto);
			}		
			Gson gson = new Gson();
			mensaje = gson.toJson(coleccionSoapvo);

		} else mensaje = "No existen registros;";

		return mensaje;
	}

}
